package com.imooc.project.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 订单匹配交易明细
 * </p>
 *
 * @author jobob
 * @since 2021-07-08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="TOrderInfo对象", description="订单匹配交易明细")
public class TOrderInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "订单编号(购买)")
    private String orderNo;

    @ApiModelProperty(value = "求购订单id")
    private Long buyId;

    @ApiModelProperty(value = "出售订单Id")
    private Long saleId;

    @ApiModelProperty(value = "出售用户编号")
    private String saleUserId;

    @ApiModelProperty(value = "出售用户账号")
    private String saleUserName;

    @ApiModelProperty(value = " 虚拟币类型  1 威点   2 星豆")
    private Integer coinType;

    @ApiModelProperty(value = "出售价格")
    private BigDecimal salePrice;

    @ApiModelProperty(value = "成交数量")
    private Integer count;

    @ApiModelProperty(value = "*成交虚拟币数量")
    private Integer coinCount;

    @ApiModelProperty(value = "成交金额")
    private BigDecimal amount;

    @ApiModelProperty(value = "匹配时间")
    private LocalDateTime matchTime;

    @ApiModelProperty(value = "卖家扣除虚拟币状态: 0 待扣款 ,1已扣款")
    private Integer tradeStateSale;

    @ApiModelProperty(value = "卖家扣款虚拟币成功时间*保留")
    private LocalDateTime settleTime;

    @ApiModelProperty(value = "购买用户编号")
    private String buyUserId;

    @ApiModelProperty(value = "购买用户账号")
    private String buyUserName;

    @ApiModelProperty(value = "购买手续费比例")
    private BigDecimal commissionRatio;

    @ApiModelProperty(value = "0=未生成结算单,1=已生成结算单")
    private Integer status;

    @ApiModelProperty(value = "买家结算时间账户状态0=未结算,1=已结算")
    private Integer settleTimesState;

    @ApiModelProperty(value = "买家结算时间账户时间")
    private LocalDateTime settleTimesTime;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    @ApiModelProperty(value = "创建人")
    private String createUser;

    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;

    @ApiModelProperty(value = "更新人")
    private String updateUser;

    @ApiModelProperty(value = "卖家结算现金状态0=未结算,1=已结算")
    private Integer settleCashState;

    @ApiModelProperty(value = "卖家结算现金时间")
    private LocalDateTime settleCashTime;


}
